<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var a = 10;
        var b = true;
        var c = null;
        var d = undefined;
        var e = "123"
        var f = "123a"
        var g = 12.3;

        /* 强制类型的转换 */
        //使用parseInt类进行转换
        //NaN 是一个number类型 不是一个数字
        console.log(parseInt(a));
        console.log(parseInt(b));
        console.log(parseInt(c));
        console.log(parseInt(d));
        console.log(parseInt(e));
        console.log(parseInt(f));
        console.log(parseInt(g));
        /* 
            parseInt转换的规则
                1.先看第一位,是不是数字,是数字,那么就转过来了,不是数字,NaN
                2.再看能转换的第二位,是数字,转,不是,停止转换
                3.对第二步以此类推
            一般用途是去除单位
                width:10px
                parseInt("10px") => 10
        */
        /* parseFloat,比parseInt多认识了一个. */
        // console.log(parseFloat(a));
        // console.log(parseFloat(b));
        // console.log(parseFloat(c));
        // console.log(parseFloat(d));
        // console.log(parseFloat(e));
        // console.log(parseFloat(f));
        // console.log(parseFloat(g));



        /* 隐式类型的转换+常规转换
                隐式类型的转换 
                    boolean可以转换转
                    null可以转
                    字符串看是不是都是数字和.
        */
        // console.log(Number(a));
        // console.log(Number(b));
        // console.log(Number(c));
        // console.log(Number(d));
        // console.log(Number(e));
        // console.log(Number(f));
        // console.log(Number(g));
        // console.log(Number(false));

        // console.log(isNaN(null));
        // console.log(isNaN(undefined));


        /* 
            自动类型的转换
        */
        /* 
            -,*,/
         */
        console.log(-a);
        console.log(-b);
        console.log(-c);
        console.log(-d);
        console.log(-e);
        console.log(-f);
        console.log(-g);

        console.log(1*a);
        console.log(1*b);
        console.log(1*c);
        console.log(1*d);
        console.log(1*e);
        console.log(1*f);
        console.log(1*g);

        console.log(a/1);
        console.log(b/1);
        console.log(c/1);
        console.log(d/1);
        console.log(e/1);
        console.log(f/1);
        console.log(g/1);



        console.log(parseInt("12a2"))
        console.log(Number("123a"))
    </script>
</body>

</html>